MCP 支持多种身份验证方式,确保安全地连接到 MCP 服务器。
OAuth 2.0#
OAuth 2.0 流程#
MCP 服务器可以使用 OAuth 2.0 进行身份验证:
- Claude Code 发起 OAuth 请求
- 用户重定向到授权页面
- 用户授权应用
- 授权服务器返回访问令牌
- Claude Code 使用令牌访问 MCP 服务器
配置 OAuth 2.0#
添加 OAuth 服务器
bash
进行身份验证
bash
OAuth 流程
bash
OAuth 2.0 作用域#
定义作用域
OAuth 2.0 使用作用域限制权限:
bash
常见作用域
- repo: 仓库访问权限
- user: 用户信息访问权限
- admin: 管理员权限
- read: 只读权限
- write: 读写权限
令牌管理#
查看令牌
bash
刷新令牌
bash
撤销令牌
bash
API 密钥#
使用 API 密钥#
添加带 API 密钥的服务器
bash
环境变量
使用环境变量传递 API 密钥:
bash
密钥安全#
加密存储
Claude Code 加密存储 API 密钥:
bash
密钥轮换
定期轮换 API 密钥:
bash
证书身份验证#
使用证书#
添加带证书的服务器
bash
证书格式
支持的证书格式:
- PEM: 最常用的格式
- DER: 二进制格式
- PKCS12: 包含私钥和证书
证书管理#
查看证书
bash
验证证书
bash
更新证书
bash
自定义身份验证#
自定义认证头#
bash
多因素认证#
bash
签名请求#
bash
身份验证最佳实践#
1. 使用最小权限原则#
bash
2. 定期轮换凭证#
bash
3. 使用环境变量#
bash
4. 加密存储#
bash
5. 审计访问#
bash
故障排除#
OAuth 2.0 问题#
授权失败
问题: OAuth 授权失败
解决方案:
bash
令牌过期
问题: 访问令牌过期
解决方案:
bash
API 密钥问题#
密钥无效
问题: API 密钥无效
解决方案:
bash
密钥过期
问题: API 密钥过期
解决方案:
bash
证书问题#
证书无效
问题: 证书无效
解决方案:
bash
证书过期
问题: 证书过期
解决方案:
bash
安全建议#
1. 保护凭证#
bash
2. 使用强凭证#
bash
3. 限制权限#
bash
4. 监控使用#
bash
5. 及时撤销#
bash